A modern storage device—e.g., a high-capacity solid state drive (SSD)—included in a computing device can enable a variety of applications to be installed on the computing device and store considerable amounts of data. In some cases, a given application can require a specific amount of memory storage space within the storage device to be available in order to effectively carry out various operations, e.g., downloading data from a remote server. In some cases, it can be desirable for the downloaded data to be retained within the storage device as cache data if the cache data is frequently accessed by the application. In particular, cache data can provide a more enjoyable user experience as the cache data reduces the latency/resources that are otherwise involved in re-downloading the data in a reactive manner, e.g., in response to a user seeking to access the data at a later time.
Notably, as the memory storage space within the storage device is consumed by greater amounts of cache data, the computing device may become incapable of operating in an optimal manner. For instance, problems can arise when a given application attempts to perform a data download operation and not enough memory storage space is available within the storage device. To remedy this situation, the computing device can perform cache data deletion procedures that attempt to free up memory storage space within the storage device so that the data download operation can proceed. However, as memory storage space is freed from cache data deletion procedures, a thrashing scenario can take place in which multiple applications compete to consume the freed-up storage space. Consequently, additional cache data deletion procedures may be required, which can further perpetuate the thrashing scenario.